package com.esunrising.esungsc.controller;

import com.esunrising.esungsc.dto.Result;
import com.esunrising.esungsc.dto.SysConfigReq;
import com.esunrising.esungsc.entity.SysConfig;
import com.esunrising.esungsc.service.SysConfigService;
import io.swagger.annotations.Api;
import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.*;

import javax.annotation.Resource;

@RestController
@RequestMapping("/sys/api/v1/sysConfig")
@Api(value = "/sys/api/v1/sysConfig", tags = {"系统配置接口处理模块"})
@Slf4j
public class SysConfigController {


    @Resource
    private SysConfigService sysConfigService;

    @GetMapping("/{uuid}")
    Result<SysConfig> getById(@PathVariable String uuid) {
        return Result.ok(sysConfigService.findById(uuid));
    }

    @PostMapping("/save")
    Result<SysConfig> save(@RequestBody SysConfigReq sysConfigReq) {
        SysConfig sysConfig = new SysConfig();
        sysConfig.setConfigKey(sysConfigReq.getConfigKey());
        sysConfig.setConfigName(sysConfigReq.getConfigName());
        sysConfig.setConfigValue(sysConfigReq.getConfigValue());
        sysConfig.setUpdateDate(sysConfigReq.getUpdateDate());
        sysConfigService.save(sysConfig);
        return Result.ok(sysConfig);
    }

    @GetMapping("/getConfigValueByConfigKey")
    Result<String> getConfigValueByConfigKey(@RequestParam String configKey) {
        return Result.ok(sysConfigService.findConfigValueByConfigKey(configKey));
    }

    @GetMapping("/getSysConfigByConfigKey")
    Result<SysConfig> getSysConfigByConfigKey(@RequestParam String configKey) {
        return Result.ok(sysConfigService.findByConfigKey(configKey));
    }



}